package db;

/**
 * Beinhaltet alle Datenbankabfragen für 
 * die Sportarten
 *
 * @author felix
 */
public class typeofsport {
    /**
    * Sucht Namen der Sportart passend
    * zu ihrer ID
    * @author felix
    * @param id ID der Sporart
    * @return Name der Sportart als String
    */
    public static String getTypeofsportById (String id){
        String sql = "SELECT id, name FROM typeofsport WHERE ID=" + id;
        String typeofsport[][] = db.MySQLConnection.getInstance().getSingleResultRow(sql);

        // return only the name of the typeofsport as a string
        String returnTypeofsport = typeofsport[0][1];
        
        return returnTypeofsport;
    }

    /**
    * Gibt alle Daten einer Sportart zurück
    * @author felix
    * @param id ID der Sportart
    * @return Gibt id, Bezeichnung, Vorlage
    *   und das Icon der Sportart zurück
    */
    public static String[] getCompleteTypeofsportById (String id){
        String sql = "SELECT id, name, template, icon FROM typeofsport WHERE ID=" + id;
        String typeofsport[][] = db.MySQLConnection.getInstance().getSingleResultRow(sql);

        return typeofsport[0];
    }

    /**
    * Gibt das Icon der Sportart zurück
    * @author felix
    * @param id ID der Sportart
    * @return Dateinamen des Icons
    */
    public static String getIconTypeofsportById (String id){
        String sql = "SELECT icon FROM typeofsport WHERE ID=" + id;
        String typeofsport[][] = db.MySQLConnection.getInstance().getSingleResultRow(sql);

        // return only the name of the typeofsport as a string
        String returnTypeofsport = typeofsport[0][0];

        return returnTypeofsport;
    }


    /**
    * Gibt das Template der Sportart zurück
    * @author felix
    * @param id ID der Sportart
    * @return Dateinamen des Template
    */
    public static String getTemplateTypeofsportById (String id){
        String sql = "SELECT template FROM typeofsport WHERE ID=" + id;
        String typeofsport[][] = db.MySQLConnection.getInstance().getSingleResultRow(sql);

        // return only the name of the typeofsport as a string
        String returnTypeofsport = typeofsport[0][0];

        return returnTypeofsport;
    }

    /**
    * Sucht alle Sportarten
    * @author felix
    * @return IDs und Bezeichnungen aller Sportarten
    */
    public static String[][] getAllTypeofsport (){
        String sql = "SELECT id, name FROM typeofsport";
        String typeofsport[][] = db.MySQLConnection.getInstance().getGenericQuery(sql);

        return typeofsport;
    }

    /**
    * Sucht erste Sportart
    * @author felix
    * @return ID der ersten Sportart
    */
    public static String getFirstTypeofsport (){
        String sql = "SELECT id FROM typeofsport ORDER BY ID ASC";
        String typeofsport[][] = db.MySQLConnection.getInstance().getSingleResultRow(sql);

        return typeofsport[0][0];
    }

    /**
    * Legt eine neue Sportart an
    * @author felix
    * @param name Bezeichnung für die neue Sportart
    */
    public static void createTypeofsport (String name) {
        String sql = "INSERT INTO typeofsport (ID, name) VALUES (null, ?)";

        db.MySQLConnection.getInstance().executeStatement(sql, name);

    }

    /**
    * Aktualisiert eine Sportart
    * @author felix
    * @param id ID der Sportart
    * @param name neue Bezeichnung der Sportart
    */
    public static void updateTypeofsport (String id, String name) {
        String sql = "UPDATE typeofsport SET name = ? WHERE ID = ?";
        String[] param = {name, id};
        db.MySQLConnection.getInstance().executeStatement(sql, param);
    }

    /**
    * Aktualisiert das Icon für eine Sportart
    * @author felix
    * @param id ID der Sportart
    * @param icon Dateiname des neuen Icons
    */
    public static void updateIcon (String id, String icon) {
        String sql = "UPDATE typeofsport SET icon = ? WHERE ID = ?";
        String[] param = {icon, id};
        db.MySQLConnection.getInstance().executeStatement(sql, param);
    }

    /**
    * Aktualisiert die Vorlage für eine Sportart
    * @author felix
    * @param id ID der Sportart
    * @param template Dateiname der neuen Vorlage
    */
    public static void updateTemplate (String id, String template) {
        String sql = "UPDATE typeofsport SET template = ? WHERE ID = ?";
        String[] param = {template, id};
        db.MySQLConnection.getInstance().executeStatement(sql, param);
    }

}
